<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h2>http://localhost:8080/sda/</h2>
<p style="font-size: 20px">
    Servlet(Server Applet)用java编写的一个服务器程序，目的是和浏览器交互并且生成动态的web内容。<br>
    Servlet是Tomcat的一个组件。<br>
    Tomcat在初始化Servlet时，首先读取web.xml文件，根据web.xml文件中的参数信息初始化ServletConfig、ServletContext对象，同时帮助我们创建HttpServletRequest和HttpServletResponse对象一并交给Servlet实例，此时，Servlet就具有了相关的功能。
</p><br>
<p style="font-size: 20px">
    Servlet生命周期：<br>
    实例化 --》初始化 --》多次调用service服务 --》 tomcat容器关闭时销毁<br>
      ·默认情况下Servlet是在第一次访问的时候实例化和初始化的（但是可以通过web.xml文件来配置load-on-startup（启动时加载）优先级）<br>
      ·第一次访问就会调用service()服务方法<br>
      ·直到关闭服务器时，Servlet才会被销毁<br>
    servlet参数详情看这个：https://blog.csdn.net/m0_57789266/article/details/122928182
</p><br>
<p style="font-size: 20px">
    Servlet四大作用域（由小到大）：<br>
        page：页面级别，现在几乎不用<br>
        request：一次请求响应范围，转发在范围内，重定向响应页面后作用域消亡<br>
        session：一次会话范围有效，session过期则失效<br>
        application（servletContext）：一次应用程序范围有效，服务器关闭失效
</p><br>
<p style="font-size: 20px">
    Servlet八大监听器：
    <br>
    ServletContextListener - 监听ServletContext创建与销毁
    HttpSessionListener - 监听HttpSession创建与销毁
    ServletRequestListener - 监听ServletRequest创建与销毁
    <br>
    ServletContextAttributeListener - 监听ServletContext的保存作用域的改动（add，remove，replace）
    HttpSessionAttributeListener - 监听HttpSession的保存作用域的改动（add，remove，replace）
    ServletRequestAttributeListener - 监听ServletRequest的保存作用域的改动（add，remove，replace）
    <br>
    HttpSessionBindingListener - 监听某个对象在session域中的创建与移除
    HttpSessionActivationListener - 监听某个对象在session域中的序列化与反序列化
</p><br>
</body>
</html>
